// <!--//引入了存有token的库，下面使用-->
import { useUserStore } from '@/stores/user'
import axios from 'axios'
// <!--//导入vueRouter4的包，下面请求时没有token时，可以跳转到首页-->
import router from '@/router'


// const baseURL = import.meta.env.VITE_APP_BASE_API
// 问题在这，你这个baseURL是空的
const baseURL = '/dev-api'
const instance = axios.create({
  baseURL,
  timeout: 100000
})

// <!--请求拦截器-->

instance.interceptors.request.use(
  (config) => {
  // <!--携带token-->
   const userStore = useUserStore()
   if (userStore.token) {
    config.headers.Authorization = userStore.token
   }
   return config
  },
  (err) =>
    {Promise.reject(err)
    }
)

// <!--响应拦截器-->

instance.interceptors.response.use(
  (res) => { console.log(res);
  // <!--成功了，返回数据。根据返回的状态码判断是否成功， 成功可以是 '0'  或者是 '200' ,根据需要更改。返回的对象数据的状态码属性可能为status ,那就把 code 换成 status -->
  if (res.data.code === 200 || res.status === 200) {


    return res
  }
// <!--显示报错-->
   ElMessage({ message: res.data.msg , type: 'error' })
   return Promise.reject(res)
  },

// <!--对于失败进行分类处理-->

  (err) => {
// <!--默认错误-->
 ElMessage({ message: err.response.data.msg || '服务异常2', type: 'error' })
console.log(err)
// <!--401指的是未携带token发起的请求-->
   if (err.response?.status === 401) {
  ElMessage({ message: 'token失效，请重新登录', type: 'error' })


  }
  return Promise.reject(err)
  }
)

export default instance
export { baseURL }
